package ExeptionTest;

import java.util.Scanner;

public class TryDemoThree {
    public static void main(String[] args){
        try {
            testAge();
        } catch (HotelAgeException e) {
            System.out.println(e.getMessage());//getmessage()是父类共享的方法

        }catch (Exception e){
            e.printStackTrace();
        }
    }


    /*
    *throw抛出异常对象的处理方案：
    * 1.通过try.. catch包含throw语句---自己抛出自己处理
    * 2.通过throws在方法声明处抛出异常---谁调用谁处理--调用者可以自己处理，也可以继续上抛
    * */

    //描述酒店的入住规则：18以下，80以上必须有人陪同入住

    /*
    1
    */
    /*public static void testAge(){
            try {
                    System.out.println("请输入年龄:");
                    Scanner scanner = new Scanner(System.in);
                    int s = scanner.nextInt();
                if (s<18||s>80){
                    throw new Exception("18以下，80以上必须有人陪同入住");
                }else{
                    System.out.println("欢迎入住");
                }
            }catch (Exception e) {
                e.printStackTrace();
            }
    }
*/



    public static void testAge() throws HotelAgeException{//此处Exception也可用其父类Throwable但子类不行
        System.out.println("请输入年龄：");
        Scanner scanner = new Scanner(System.in);
        int age = scanner.nextInt();
        if(age<18||age>80){
            throw new HotelAgeException();
           // throw new Exception("18以下，80以上必须有人陪同入住");
        }else{
            System.out.println("欢迎入住");
        }

    }



}
